#ifndef NAVIGATION_H
#define NAVIGATION_H

#include "card.h"

class CNavigation : public CCard
{
public:

	typedef enum T_Bird
	{
		NoBird,
		HasBird,
		RemoveBird
	};

	T_Bird Bird;
	CCardSet OverBoard;
	CCardSet Thirsty;
	bool FoughtThirsty;
	bool BoatedThirsty;

public:
	CNavigation(T_Bird b, bool ft, bool bt) : Bird(b), FoughtThirsty(ft), BoatedThirsty(bt), CCard("Nav") {}
	CNavigation() {}

	void AddThirsty(CCharacter *a)
	{
		Thirsty.push_front(a);
	}
	void AddOverBoard(CCharacter *a)
	{
		OverBoard.push_front(a);
	}
	void AddThirstyExcept(CCardSet allchar, CCharacter *a) 
	{
		Thirsty = allchar;
		Thirsty.remove(a);
	}
	void AddOverBoardExcept(CCardSet allchar, CCharacter *a)
	{
		OverBoard = allchar;
		OverBoard.remove(a);
	}
	void AddThirstyEveryone(CCardSet allchar) { Thirsty = allchar; }
	void AddOverBoardEveryone(CCardSet allchar) { OverBoard = allchar; }
};


#endif